热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CVPR2018|旷视科技Face++推出语义分割创新模型——判别特征网络(DFN)

全球计算机视觉顶会CVPR2018(ConferenceonComputerVisionandPatternRecognition,即IEEE国际计算机

全球计算机视觉顶会 CVPR 2018 (Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议)将于6月18日至22日在美国盐湖城举行。作为大会钻石赞助商,旷视科技Face++研究院也将在孙剑博士的带领下重磅出席此次盛会。而在盛会召开之前,旷视将针对 CVPR 2018 收录论文集中进行系列解读。

论文名称:Learning a Discriminative Feature Network for Semantic Segmentation

论文链接:https://arxiv.org/abs/1804.09337

 

目录


  • 导语
  • 设计思想
  • 网络架构
    • Smooth Network
    • Border Network
    • 网络结构
  • 实验结果
  • 结论
  • 参考文献

导语

在大量的计算机视觉应用中,语义分割是一项不可或缺的底层技术。旷视科技Face++近期发表的一篇 CVPR 2018 收录论文《Learning a Discriminative Feature Network for Semantic Segmentation 》提出判别特征网络 DFN,有效解决了语义分割的两个基本问题,显著提高了其精度,可以帮助机器之眼更好地理解复杂的图像和场景,解析静态或动态人体及其他物体,有助于从根本上推动自动驾驶、手机影像、医疗影像、无人零售、物流安防等 AI 驱动型产业的普及与发展。


设计思想

本文提出的判别特征网络(Discriminative Feature Network/DFN)包含两个子网络 Smooth Network 和 Border Network,它有效解决了绝大多数现有语义分割方法面临的类内不一致(intra-class inconsistency)与类间无差别(inter-class indistinction)问题。

具体而言,为应对类内不一致问题,作者专门设计带有通道注意力模块(Channel Attention Block/CAB)和全局平均池化的 Smooth Network 以选择更具判别力的特征;而 Border Network 则借助多层语义边界监督区分边界两边的特征。

伴随着以全卷积网络(Fully Convolutional Network/FCN)为代表的卷积神经网络的新近发展,很多工作成效显著。但是,上述网络学习的特征经常存在判别性不强,难以区分的问题,表现为:1) 标签相同但外观不同的图像块,称之为类内不一致,如图 1 第一行所示;2) 两个相邻的图像块,标签不同但外观相似,称之为类间无差别,如图 1 第二行所示。

 

图 1:棘手的语义分割实例。第二列是 FCN 模型的输出;第三列是本文方法的输出。第一行中,图中牛的左下角被识别为马,这属于类内不一致问题。第二行中,电脑主机上的蓝光及黑色机壳与显示器相似,因此难以区分,这属于类间无差别问题。

 

为解决上述两个挑战,本文从一个更加宏观的角度重新思考语义分割,将其看作一项把一致的语义标签分配给一类物体而不是每个单一像素的任务。这就需要把每个类别的像素看作一个整体,进而同时兼顾类内一致(intra-class consistency)与类间差别(inter-class variation)。这意味任务需要判别特征,所以本文提出一个全新的判别特征网络(DFN) 以学习特征表征。

DFN 有两个组件:Smooth Network 和 Border Network。Smooth Network 用来解决类内不一致问题,从而需要学习一个鲁棒特征表征,为此本文主要考虑两个关键因素。一方面,需要多尺度和全局语境特征编码局部和全局信息。比如,由于缺乏足够的语境信息,图 1(a) 中的白色小图像块经常无法预测正确的类别;另一方面,随着引入多尺度语境,对于一定尺度的物体来说,特征具有不同程度的判别力,其中一些可能预测假标签。因此,有必要选择高效的判别特征。正是出于上述两方面的考虑,Smooth Network 展现为 U 形结构,以抓取不同尺度的语境信息,并通过全局平均池化抓取全局语境。此外,本文还提出通道注意力模块(CAB),利用高层特征逐阶段地指导低层特征的选择。

Border Network 负责区分外观相似但标签不同的相邻图像块。大多数现有方法把语义分割看作一种密集识别问题,无法明确建模类间关系。以图 1(d) 为例,如果越来越多的全局语境整合进分类过程,相邻于显示器的电脑主机由于外观相似很容易被误认是显示器。因此,明确地使用语义边界指导特征的学习非常重要,这可以增强特征两边的变化。训练时,作者把语义边界损失整合进 Border Network 以学习判别特征,增大类间差别。


网络架构

有关DFN的网络架构,首先详述它的两个组件 Smooth Network 和 Border Network;接着,具体解释两者如何实现类内一致和类间差别;最后描述 DFN 完整的编码器-解码器网络架构。

图 2:判别特征网络概览。(a)网络架构。(b)优化残差模块(Refinement Residual Block/RRB)的组件。(c)通道注意力模块(CAB)的组件。红线、蓝线分别表征上采样和下采样算子。绿线仅是信息传递路径,不改变特征图的大小。

 

Smooth Network

绝大多数现有方法无法保证正确预测每个图像块的类别,尤其当图像块属于较大区域和复杂场景之时;这种类内不一致问题的主要原因在于语境的缺失,为此作者提出带有全局平均池化的全局语境。但是,全局语境只具有高语境信息,无助于复原空间信息,作者需要多尺度感受野和语境来优化空间信息,正如大多数现有方法那样。然而,由于不同尺度的感受野其判别力也各不相同,从而造成不一致的结果,从而需要选择更具判别力的特征预测某个特定类别的统一语义标签。

具体而言,本文使用 ResNet 作为基础识别模型;根据特征图大小,该模型可划分为 5 个阶段。据观察,不同阶段识别能力各不相同,一致性表现也各不相同。在低级阶段,网络编码更精细的空间信息,但是由于缺乏空间语境指导和感受野较小,其语义一致性表现欠佳;而在高级阶段,由于感受野较大,语义一致性表现较佳,但是预测的空间信息较粗糙。总体而言,低级阶段有着更精确的空间预测,而高级阶段有着更精确的语义预测。基于这一观察,本文提出 Smooth Network 以整合两者的优势,利用高级阶段的一致性指导低级阶段获得最优的预测。

图 3:通道注意力模块图示。在(a)中,黄色模块表征低级阶段的特征,红色模块表征高级阶段的特征。作者结合相邻阶段的特征以计算权重向量,从而更新低级阶段特征图的权重。较深色模块表征高权重值。(b)是第 4 阶段通道注意力模块的真实注意力值向量。蓝色越深,表征权重值越大。

 

当下流行的语义分割架构主要有两种 style,一种是 Backbone,如 PSPNet 和 Deeplab v3;另一种是 Encoder-Decoder,比如 RefineNet 和全局卷积网络。但上述架构并不完备,为此,本文首先嵌入一个全局平均池化层把 U 形架构扩展为 V 形架构,为网络引入最强的一致性约束作为指导;此外,本文提出通道注意力模块以优化一致性,如图 2(c) 所示。该设计结合相邻阶段的特征以计算通道注意力向量(图 3(b))。高级阶段的特征给出一个强大的一致性指导,而低级阶段的特征给出特征的不同判别信息,从而通道注意力向量可以选择判别特征。

通道注意力模块:CAB 的设计目的是改变每一阶段的特征权重以优化一致性,如图 3 所示。在 FCN 架构中,卷积算子输出一个 score map,给出每一类别在每个像素上的概率。其实际意义在于暗示了不同通道的权重是平等的。然而,如上所述,不同阶段的特征判别力不同,造成预测的一致性各不相同。为实现类内一致预测,应该提取判别特征,并抑制非判别特征,从而可以逐阶段地获取判别特征以实现预测类内一致。

优化残差模块:特征网络中每一阶段的特征图全都经过 RRB,如图 2(b) 所示。该模块的第 1 个组件是 1 x 1 卷积层,作者用它把通道数量统一为 512。同时,它可以整合所有通道的信息。接着是一个基本的残差模块,它可以优化特征图。此外,受 ResNet 启发,该模块还可以强化每一阶段的识别能力。

Border Network

在语义分割任务中,预测经常混淆外观相似的不同类别,尤其当它们在空间上相近之时,因此需要加大特征的差别。出于这一考虑,本文采用语义边界指导特征学习,同时应用显式监督提取精确的语义边界,使网络学习类间差别能力强大的特征,进而提出 Border Network 加大特征的类间差别。Border Network 直接通过显式语义边界监督学习语义边界,类似于语义边界检测任务。这使得语义边界两边的特征变得可区分。

本文的工作需要语义边界具有更多的语义含义。因此 Border Network 的设计是自下而上的。它可以同时从低级阶段获取精确的边界信息和从高级阶段获取语义信息,从而消除一些缺乏语义信息的原始边界。由此,高级阶段的语义信息可以逐阶段地优化低级阶段的细节边界信息。借助传统的图像处理方法,比如 Canny,作者可以从语义分割的 groundtruth 中获得网络的监督信号。Border Network 主要关注分离边界两边的类别的语义分割。要精确地提取语义边界,需要两边的特征更加可区分,而这正是作者的目的所在。

网络结构

作者使用预训练的 ResNet 作为基础网络。Smooth Network 通过在网络顶部添加全局平均池化层以获得最强的一致性;接着利用 CAB 改变通道的权重进一步提升一致性。同时,Border Network 通过明确的语义边界监督获得精确的语义边界并使两边的特征更易区分。由此,类内特征更加一致,类间特征更易区分。

对于显式的特征优化,需要使用多层监督以获取更佳性能,同时网络也更容易训练。Smooth Network 借助 softmax loss 监督每一阶段的上采样输出(全局平均池化层除外),而本文借助 focal loss 监督 Border Network 的输出。两个子网络在一起联合训练,其 loss 通过一个参数控制两者的权重。


实验结果

本文在两个开源数据集 PASCAL VOC 2012 和 Cityscapes 上评估这一方法。数据集介绍、实现细节结果分析等从略,本文将直接给出 DFN 最终的评估结果,了解更多请参见原论文。

表 5:DFN 在 PASCAL VOC 2012 测试集上的表现。在 MS-COCO 上预训练的方法用“+”标记。

 

表 6:DFN 在 Cityscapes 测试集上的表现。“-”表明该方法未在发表的论文中展示结果。

 


结论

最后总结一下,本文的贡献主要有 4 个方面:


  • 从一个新的宏观视角重新思考语义分割,将其看作一项把一致的语义标签分配给一类物体(而不仅仅是在像素层面)的任务。
  • 提出 DFN 同时解决类内一致和类间差别问题。DFN 分别在 PASCAL VOC 2012 和 Cityscapes 数据集上取得 86.2% 和 80.3% 的当前最优 mean IOU,证实了该方法的有效性。
  • 提出 Smooth Network,通过全局语境和通道注意力模块提升类内一致性。
  • 提出一种自下而上的 Border Network,利用多层边界监督信号增大语义边界两边的特征变化,同时优化预测的语义边界。

 

参考文献

[1] L.-C. Chen, G. Papandreou, F. Schroff, and H. Adam. Rethinking atrous convolution for semantic image segmentation. arXiv, 2017.

[2] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. InIEEE Conference on Computer Vision and Pattern Recognition, 2016.

[3] J. Hu, L. Shen, and G. Sun. Squeeze-and-excitation networks. arXiv, 2017.

[4] G. Lin, A. Milan, C. Shen, and I. Reid. Refinenet: Multi-path refinement networks with identity mappings for high-resolution semantic segmentation. In IEEE Conference on Computer Vision and Pattern Recognition, 2017.

[5] W. Liu, A. Rabinovich, and A. C. Berg. Parsenet: Looking wider to see better. InInternational Conference on Learning Representations, 2016.

[6] C. Peng, X. Zhang, G. Yu, G. Luo, and J. Sun. Large kernel matters–improve semantic segmentation by global convolutional network. In IEEE Conference on Computer Vision and Pattern Recognition, 2017.

 


推荐阅读
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 在Qt框架中,信号与槽机制是一种独特的组件间通信方式。本文探讨了这一机制相较于传统的C风格回调函数所具有的优势,并分析了其潜在的不足之处。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 深入解析JVM内存模型与分配机制
    本文详细探讨了JVM内存结构的主要组成部分,包括Java虚拟机栈、Java堆、方法区等,并深入分析了HotSpot虚拟机的分代收集策略及其对不同内存区域的管理方式。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 在将 Android Studio 从 3.0 升级到 3.1 版本后,遇到项目无法正常编译的问题,具体错误信息为:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDemoProductDebugResources'。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
author-avatar
手机用户2502922415_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有